package com.hangzhou.xyj.net.request;

import android.support.annotation.Nullable;

import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.hangzhou.xyj.net.request.base.BaseRequest;
import com.hangzhou.xyj.utils.StringUtil;
import com.hangzhou.xyj.utils.constants.API;

/**
 * Created by yaohuix on 2016/2/25  13:28
 * <p/>
 * 说明：发现-查询圈子 请求
 */
public class QueryGroupListReq extends BaseRequest {
    public static final String TYPE_EXPERT = "2";//名家部落
    public static final String TYPE_NEW = "1";//新兴圈子

    /**
     * @param name        圈子的名字，可以进行模糊查询
     * @param location    同城
     * @param type        0 或 QueryGroupListReq.TYPE_EXPERT 或 QueryGroupListReq.TYPE_NEW
     * @param recommend   值："recommend" 或 可以为空
     * @param pageSize    每页条目数
     * @param currentPage 当前页码
     * @return
     * @Description
     * @author yaohuix
     * @date 2016/2/25 14:08
     */
    public QueryGroupListReq(@Nullable String name, @Nullable String location, @Nullable String recommend
            , @Nullable String type, int pageSize, int currentPage) {
        JsonObject jsonObject = new JsonObject();
        if (StringUtil.isNotEmpty(name)) {
            jsonObject.addProperty("name", name);
        }
        if (StringUtil.isNotEmpty(location)) {
            jsonObject.addProperty("location", location);
        }
        if (StringUtil.isNotEmpty(recommend)) {
            jsonObject.addProperty("recommend", recommend);
        }
        if (StringUtil.isNotEmpty(type)) {
            jsonObject.addProperty("type", Integer.valueOf(type));
        }
        jsonObject.addProperty("pageSize", pageSize);
        jsonObject.addProperty("currentPage", currentPage);
        String jsonStr = new Gson().toJson(jsonObject);
        add("data", jsonStr);
    }


    /**
     * 构造方法
     *
     * @param name 圈子的名称 支持模糊查询
     * @return
     * @author yaohuix
     * @date 2016/4/22 14:28
     */
    public QueryGroupListReq(String name, int pageSize, int currentPage) {
        JsonObject jsonObject = new JsonObject();
        jsonObject.addProperty("name", name);
        jsonObject.addProperty("pageSize", pageSize);
        jsonObject.addProperty(" ", currentPage);
        String jsonStr = new Gson().toJson(jsonObject);
        add("data", jsonStr);
    }

    @Override
    public String getUrl() {
        return API.FIND_GROUP_LIST;
    }
}
